Design annotations to improve API discoverability

نویسندگان

  • André L. Santos
  • Brad A. Myers
چکیده

User studies have revealed that programmers face several obstacles when learning application programming interfaces (APIs). A considerable part of such difficulties relate to discovery of API elements and the relationships among them. To address discoverability problems, we show how to complement APIs with design annotations, which document design decisions in a program-processable form for types, methods, and parameters. The information provided by the annotations is consumed by the integrated development environment (IDE) in order to assist API users with useful code completion proposals regarding object creation and manipulation, which facilitate API exploration and learning. As a proof of concept, we developed Dacite , a tool which comprises a set of Java annotations and an accompanying plugin for the Eclipse IDE. A user study revealed that Dacite is usable and effective, and Dacite’s proposals enable programmers to be more successful in solving programming tasks involving unfamiliar APIs. © 2017 Elsevier Inc. All rights reserved.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using Structure-Based Recommendations to Facilitate Discoverability in APIs

Empirical evidence indicates that developers face significant hurdles when the API elements necessary to implement a task are not accessible from the types they are working with. We propose an approach that leverages the structural relationships between API elements to make API methods or types not accessible from a given API type more discoverable. We implemented our approach as an extension t...

متن کامل

The NLTK FrameNet API: Designing for Discoverability with a Rich Linguistic Resource

A new Python API, integrated within the NLTK suite, offers access to the FrameNet 1.7 lexical database. The lexicon (structured in terms of frames) as well as annotated sentences can be processed programatically, or browsed with human-readable displays via the interactive Python prompt.

متن کامل

SOPI : An Object Oriented Semantic Web Programming API for Services Computing

Services Computing is fast turning into the mainstream programming paradigm for building enterprise systems that are distributed in nature. However, the programming power available to the developers of service oriented systems has been slow to catch up with the advances in technology. Object oriented APIs continue to be the prevalent mechanism for implementing web services based software system...

متن کامل

WSColab: Structured Collaborative Tagging for Web Service Matchmaking

One of the key requirements for the success of Service Oriented Architecture is discoverability of Web services. Unfortunately, application of authoritatively defined taxonomies cannot cope with the volume of services published on the Web. Collaborative tagging claims to address this problem, but is impeded by the lack of structure to describe Web service functions and interfaces. In this paper...

متن کامل

Collaborative Visual Analysis on the Web with RCloud

Consider the emerging role of data science teams embedded in larger organizations. Individual analysts work on loosely related problems, and must share their findings with each other and the organization at large, moving results from exploratory data analyses (EDA) into automated visualizations, diagnostics and reports deployed for wider consumption. There are two problems with the current prac...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Journal of Systems and Software

دوره 126  شماره 

صفحات  -

تاریخ انتشار 2017